REPORT z_srmt_start_framework .
DATA: lt_record_sp_poid TYPE srm_list_poid,
ls_sp_poid TYPE LINE OF srm_list_poid,
ls_record_doc_id TYPE sdokobject,
lt_prop_sel TYPE TABLE OF bapipropqy,
ls_prop_sel TYPE bapipropqy,
lt_result_list TYPE TABLE OF bapidoctab,
ls_result TYPE bapidoctab,
lv_rms_id TYPE bapirmsid,
lv_rms_id_str TYPE string,
lv_rec_sps_id TYPE bapispsid.
PARAMETERS: pa_pernr TYPE p0000-pernr.
lv_rms_id = 'S_RMS_DEMO'.
lv_rec_sps_id = 'Z_SRM_SPS_PERSONNELRECORD_DEMO'.
ls_prop_sel-propname = 'SRM_PERSONNEL_NO'.
ls_prop_sel-sign = 'I'.
ls_prop_sel-option = 'EQ'.
ls_prop_sel-propval_lo = pa_pernr.
APPEND ls_prop_sel TO lt_prop_sel.
CALL FUNCTION 'BAPI_RECORD_GETLIST'
EXPORTING
rms_id = lv_rms_id
sps_id = lv_rec_sps_id
TABLES
property_selection = lt_prop_sel
resulting_list = lt_result_list.
READ TABLE lt_result_list INTO ls_result INDEX 1.
IF sy-subrc <> 0.
EXIT.
ENDIF.
ls_record_doc_id-class = ls_result-docclass.
ls_record_doc_id-objid = ls_result-objectid.
ls_sp_poid-id = 'DOC_ID'.
ls_sp_poid-value = ls_record_doc_id.
INSERT ls_sp_poid INTO TABLE lt_record_sp_poid.
ls_sp_poid-id = 'VERSION'.
ls_sp_poid-value = '0'.
INSERT ls_sp_poid INTO TABLE lt_record_sp_poid.
ls_sp_poid-id = 'VARIANT'.
ls_sp_poid-value = '0'.
INSERT ls_sp_poid INTO TABLE lt_record_sp_poid.
* Zuweisung fr Typkonvertierung:
lv_rms_id_str = lv_rms_id.
CALL FUNCTION 'SRM_START_FRAMEWORK_RFC'
EXPORTING
im_rms_id = lv_rms_id_str
im_sps_id = lv_rec_sps_id
im_is_model = if_srm=>false
im_sp_poid = lt_record_sp_poid
im_activity =
if_srm_activity_list=>display
im_option_organizer = if_srm=>true
im_option_navigation = if_srm=>true.